package com.wanger.swa.service.ise;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wanger.swa.dto.dataSource.query.DataSourceQuery;
import com.wanger.swa.dto.dataSource.req.DataSourceAddReq;
import com.wanger.swa.dto.dataSource.req.DataSourceUpdateReq;
import com.wanger.swa.dto.dataSource.resp.DataSourceActualContentResp;
import com.wanger.swa.dto.dataSource.resp.DataSourceResp;
import com.wanger.swa.domain.po.DataSourcePO;
import com.wanger.swa.dto.dataSource.resp.SupportTypeResp;

import java.util.List;

/**
 * @Author: wanger
 * @Date: 2024/9/15 12:52
 * @Description: 数据源
 */
public interface DataSourceService extends IService<DataSourcePO> {

    DataSourceResp addDataSource(DataSourceAddReq addDTO);

    DataSourceResp updateDataSource(DataSourceUpdateReq updateDTO);

    DataSourceResp getOneDataSource(String id);

    IPage<DataSourceResp> pageDataSource(DataSourceQuery query);

    List<DataSourceResp> listDataSource(DataSourceQuery query);

    void deleteDataSource(String id);

    List<SupportTypeResp> getSupportType();

    void dataVerification(DataSourceAddReq addDTO);

    DataSourceActualContentResp getDataSourceById(String id);

    void registerAllDataSources();

    void registerDataSources(DataSourcePO po);
}
